package com.ruoyi.sales.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.entity.ZcProcess;
import com.ruoyi.common.core.domain.entity.ZcStock;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.annotation.Excel;

/**
* 产品对象 zc_product
*
* @author woo
* @date 2024-04-02
*/
@TableName("zc_product")
public class ZcProduct implements Serializable
{
private static final long serialVersionUID = 1L;

/** 产品表id */
@TableId(value = "product_id",type = IdType.AUTO)
private Long productId;

/** 产品原布原料和品类id */
private Long stockId;

/** 产品类别工序id */
private Long processId;

/** 产品规格id */
private Long specificationsId;

/** 产品编码 */
@Excel(name = "产品编码")
private String code;

/** 产品名称 */
@Excel(name = "产品名称")
private String name;

/** 产品性质 */
@Excel(name = "产品性质")
private String nature;

/** 产品品种 */
@Excel(name = "产品品种")
private String breed;

/** 产品颜色 */
@Excel(name = "产品颜色")
private String color;

/** 产品状态 */
@Excel(name = "产品状态")
private String status;

/** 逻辑删除 */
private Long del;


    /** 创建者 */
    private String createBy;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 更新者 */
    private String updateBy;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    @TableField(exist = false)
    private ZcStock stock;

    public ZcStock getStock() {
        return stock;
    }

    public void setStock(ZcStock stock) {
        this.stock = stock;
    }

    @TableField(exist = false)
    private ZcProcess process;

    public ZcProcess getProcess() {
        return process;
    }

    public void setProcess(ZcProcess process) {
        this.process = process;
    }

    public void setProductId(Long productId)
{
this.productId = productId;
}

public Long getProductId()
{
return productId;
}
public void setStockId(Long stockId)
{
this.stockId = stockId;
}

public Long getStockId()
{
return stockId;
}
public void setProcessId(Long processId)
{
this.processId = processId;
}

public Long getProcessId()
{
return processId;
}
public void setSpecificationsId(Long specificationsId)
{
this.specificationsId = specificationsId;
}

public Long getSpecificationsId()
{
return specificationsId;
}
public void setCode(String code)
{
this.code = code;
}

public String getCode()
{
return code;
}
public void setName(String name)
{
this.name = name;
}

public String getName()
{
return name;
}
public void setNature(String nature)
{
this.nature = nature;
}

public String getNature()
{
return nature;
}
public void setBreed(String breed)
{
this.breed = breed;
}

public String getBreed()
{
return breed;
}
public void setColor(String color)
{
this.color = color;
}

public String getColor()
{
return color;
}
public void setStatus(String status)
{
this.status = status;
}

public String getStatus()
{
return status;
}
public void setDel(Long del)
{
this.del = del;
}

public Long getDel()
{
return del;
}

    public String getCreateBy()
    {
        return createBy;
    }

    public void setCreateBy(String createBy)
    {
        this.createBy = createBy;
    }

    public Date getCreateTime()
    {
        return createTime;
    }

    public void setCreateTime(Date createTime)
    {
        this.createTime = createTime;
    }

    public String getUpdateBy()
    {
        return updateBy;
    }

    public void setUpdateBy(String updateBy)
    {
        this.updateBy = updateBy;
    }

    public Date getUpdateTime()
    {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime)
    {
        this.updateTime = updateTime;
    }

@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("productId", getProductId())
.append("stockId", getStockId())
.append("processId", getProcessId())
.append("specificationsId", getSpecificationsId())
.append("code", getCode())
.append("name", getName())
.append("nature", getNature())
.append("breed", getBreed())
.append("color", getColor())
.append("status", getStatus())
.append("createTime", getCreateTime())
.append("updateTime", getUpdateTime())
.append("createBy", getCreateBy())
.append("updateBy", getUpdateBy())
.append("del", getDel())
        .append("stock",getStock())
.toString();
}
}